home *** CD-ROM | disk | FTP | other *** search
-
-
-
- SSSSGGGGEEEELLLLSSSS((((3333SSSS)))) SSSSGGGGEEEELLLLSSSS((((3333SSSS))))
-
-
-
- NNNNAAAAMMMMEEEE
- SGELS - solve overdetermined or underdetermined real linear systems
- involving an M-by-N matrix A, or its transpose, using a QR or LQ
- factorization of A
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- SUBROUTINE SGELS( TRANS, M, N, NRHS, A, LDA, B, LDB, WORK, LWORK, INFO )
-
- CHARACTER TRANS
-
- INTEGER INFO, LDA, LDB, LWORK, M, N, NRHS
-
- REAL A( LDA, * ), B( LDB, * ), WORK( * )
-
- IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
- These routines are part of the SCSL Scientific Library and can be loaded
- using either the -lscs or the -lscs_mp option. The -lscs_mp option
- directs the linker to use the multi-processor version of the library.
-
- When linking to SCSL with -lscs or -lscs_mp, the default integer size is
- 4 bytes (32 bits). Another version of SCSL is available in which integers
- are 8 bytes (64 bits). This version allows the user access to larger
- memory sizes and helps when porting legacy Cray codes. It can be loaded
- by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
- only one of the two versions; 4-byte integer and 8-byte integer library
- calls cannot be mixed.
-
- PPPPUUUURRRRPPPPOOOOSSSSEEEE
- SGELS solves overdetermined or underdetermined real linear systems
- involving an M-by-N matrix A, or its transpose, using a QR or LQ
- factorization of A. It is assumed that A has full rank. The following
- options are provided:
-
- 1. If TRANS = 'N' and m >= n: find the least squares solution of
- an overdetermined system, i.e., solve the least squares problem
- minimize || B - A*X ||.
-
- 2. If TRANS = 'N' and m < n: find the minimum norm solution of
- an underdetermined system A * X = B.
-
- 3. If TRANS = 'T' and m >= n: find the minimum norm solution of
- an undetermined system A**T * X = B.
-
- 4. If TRANS = 'T' and m < n: find the least squares solution of
- an overdetermined system, i.e., solve the least squares problem
- minimize || B - A**T * X ||.
-
- Several right hand side vectors b and solution vectors x can be handled
- in a single call; they are stored as the columns of the M-by-NRHS right
- hand side matrix B and the N-by-NRHS solution matrix X.
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- SSSSGGGGEEEELLLLSSSS((((3333SSSS)))) SSSSGGGGEEEELLLLSSSS((((3333SSSS))))
-
-
-
- AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
- TRANS (input) CHARACTER
- = 'N': the linear system involves A;
- = 'T': the linear system involves A**T.
-
- M (input) INTEGER
- The number of rows of the matrix A. M >= 0.
-
- N (input) INTEGER
- The number of columns of the matrix A. N >= 0.
-
- NRHS (input) INTEGER
- The number of right hand sides, i.e., the number of columns of
- the matrices B and X. NRHS >=0.
-
- A (input/output) REAL array, dimension (LDA,N)
- On entry, the M-by-N matrix A. On exit, if M >= N, A is
- overwritten by details of its QR factorization as returned by
- SGEQRF; if M < N, A is overwritten by details of its LQ
- factorization as returned by SGELQF.
-
- LDA (input) INTEGER
- The leading dimension of the array A. LDA >= max(1,M).
-
- B (input/output) REAL array, dimension (LDB,NRHS)
- On entry, the matrix B of right hand side vectors, stored
- columnwise; B is M-by-NRHS if TRANS = 'N', or N-by-NRHS if TRANS
- = 'T'. On exit, B is overwritten by the solution vectors, stored
- columnwise: if TRANS = 'N' and m >= n, rows 1 to n of B contain
- the least squares solution vectors; the residual sum of squares
- for the solution in each column is given by the sum of squares of
- elements N+1 to M in that column; if TRANS = 'N' and m < n, rows
- 1 to N of B contain the minimum norm solution vectors; if TRANS =
- 'T' and m >= n, rows 1 to M of B contain the minimum norm
- solution vectors; if TRANS = 'T' and m < n, rows 1 to M of B
- contain the least squares solution vectors; the residual sum of
- squares for the solution in each column is given by the sum of
- squares of elements M+1 to N in that column.
-
- LDB (input) INTEGER
- The leading dimension of the array B. LDB >= MAX(1,M,N).
-
- WORK (workspace/output) REAL array, dimension (LWORK)
- On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
-
- LWORK (input) INTEGER
- The dimension of the array WORK. LWORK >= max( 1, MN + max( MN,
- NRHS ) ). For optimal performance, LWORK >= max( 1, MN + max(
- MN, NRHS )*NB ). where MN = min(M,N) and NB is the optimum block
- size.
-
- If LWORK = -1, then a workspace query is assumed; the routine
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- SSSSGGGGEEEELLLLSSSS((((3333SSSS)))) SSSSGGGGEEEELLLLSSSS((((3333SSSS))))
-
-
-
- only calculates the optimal size of the WORK array, returns this
- value as the first entry of the WORK array, and no error message
- related to LWORK is issued by XERBLA.
-
- INFO (output) INTEGER
- = 0: successful exit
- < 0: if INFO = -i, the i-th argument had an illegal value
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- INTRO_LAPACK(3S), INTRO_SCSL(3S)
-
- This man page is available only online.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-